home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 04 (1982-12)(Softdisk)(Side B).zip / Softdisk Magazette Volume 2, No. 04 (1982-12)(Softdisk)(Side B).do / FINANCIAL.WIZARD.bas < prev    next >
BASIC Source File  |  1996-12-24  |  25KB  |  523 lines

  1. 10  REM   **********************      *                    *
  2. 20  REM   *  FINANCIAL.WIZARD  *
  3. 30  REM   *                    *      **********************      :                    :
  4. 40  REM    --------------------
  5. 50  REM    DOCUMENTATION.MODULE
  6. 60  REM    --------------------
  7. 70  REM     Z =MENU SELECTOR            Y$=YES/NO SELECTOR
  8. 80  REM     P =INITIAL INVESTMENT       I =INTEREST RATE
  9. 90  REM     N =COMP.PERIODS/YEAR        Y =NUMBER OF YEARS
  10. 100  REM     T =CALCULATED VALUE         R =REGULAR DEPOSIT
  11. 110  REM     K =DEPREC.PERCENTAGE        D =DEPREC.AMOUNT
  12. 120  REM     X =COUNTER FROM 1-5         X$=CONTINUE LISTING
  13. 130  REM     S =SALVAGE VALUE            Q =TOTAL INTEREST
  14. 140  REM    SP$=SCREEN/PRINTER 
  15. 150  REM     A,B,C,D,F,J,L,A$,BO           =VALUE EXCHANGERS
  16. 160  REM    -------------------
  17. 170  REM    HOUSEKEEPING.MODULE
  18. 180  REM    -------------------
  19. 190  REM    DIM A$(5),X$(5),Y$(5)
  20. 200  REM  ----------------------
  21. 210  REM  ACKNOWLEDGEMENT.MODULE
  22. 220  REM  ----------------------                 :
  23. 230  REM   *********************
  24. 240  REM   * UPDATED & REBUILT *
  25. 250  REM   *    ENTIRELY BY    *
  26. 260  REM   *  THOMAS R. PIPER  *
  27. 270  REM   * CENTERVILLE, IOWA *
  28. 280  REM   *   OCTOBER, 1982   *
  29. 290  REM   *********************                 :
  30. 300  REM    -------------------
  31. 310  REM    MAIN.CONTROL.MODULE
  32. 320  REM    -------------------
  33. 330  REM 
  34. 340  REM  INITIAL.INTRODUCTION
  35. 350  GOSUB 520
  36. 360  REM  MASTER.MENU.SELECTOR
  37. 370  GOSUB 620
  38. 380  REM  CLR SCREEN, DRAW LINE
  39. 390  GOSUB 4370: GOSUB 4330
  40. 400  REM  EXECUTE.SELECTION
  41. 410  IF Z = 0  THEN  GOTO 490
  42. 420  ON Z GOSUB 920,1090,1270,1440,1600,1790,1970,2130,2270,2420,2600,2770,2930,3090,3250,3490,3740,3900
  43. 430  REM  PRINTOUT.ANSWER.?
  44. 440  GOSUB 4410
  45. 450  REM  REPEAT.SELECTION.?
  46. 460  GOTO 5130
  47. 470  REM  STARTOVER.WITH.MENU
  48. 480  GOTO 360
  49. 490  REM  END.OF.PROGRAM
  50. 500  GOSUB 5200
  51. 510  END 
  52. 520  REM  ----------------------
  53. 530  REM  INTRO.SELECTION.MODULE
  54. 540  REM  ----------------------
  55. 550  HOME 
  56. 560  VTAB 9: GOSUB 4330
  57. 570  PRINT "  ****    BANKING AND FINANCIAL    ****"
  58. 580  PRINT : PRINT  TAB( 16);"PROGRAMS"
  59. 590  PRINT : GOSUB 4330
  60. 600  FOR I = 1 TO 2000: NEXT I
  61. 610  RETURN 
  62. 620  REM  ------------------
  63. 630  REM  MASTER.MENU.MODULE
  64. 640  REM  ------------------
  65. 650  GOSUB 4370: GOSUB 4330: CALL  -998: REM  THE CALL MOVES CURSOR UP ONE LINE
  66. 660  PRINT "         ***  MASTER  MENU  ***"
  67. 670  GOSUB 4330: CALL  -998
  68. 680  PRINT  TAB( 5);"(1) FUTURE VALUE OF INVESTMENT"
  69. 690  PRINT  TAB( 5);"(2) FUTURE VALUE OF ANNUITY"
  70. 700  PRINT  TAB( 5);"(3) FUTURE VALUE OF SAVINGS"
  71. 710  PRINT  TAB( 5);"(4) WITHDRAWALS FROM INVESTMENT"
  72. 720  PRINT  TAB( 5);"(5) MINIMUM INVESTMENT FOR INCOME"
  73. 730  PRINT  TAB( 5);"(6) INCOME FROM INVESTMENTS"
  74. 740  PRINT  TAB( 5);"(7) NOMINAL INTEREST RATES"
  75. 750  PRINT  TAB( 5);"(8) EFFECTIVE INTEREST RATES"
  76. 760  PRINT  TAB( 5);"(9) ANNUAL DEPRECIATION TABLE"
  77. 770  PRINT  TAB( 4);"(10) DEPRECIATED INVESTMENT"
  78. 780  PRINT  TAB( 4);"(11) SALVAGE VALUE YEAR END"
  79. 790  PRINT  TAB( 4);"(12) DISCOUNTED COMMERCIAL PAPER"
  80. 800  PRINT  TAB( 4);"(13) LOAN PRINCIPAL"
  81. 810  PRINT  TAB( 4);"(14) LOAN PAYMENT SCHEDULES"
  82. 820  PRINT  TAB( 4);"(15) FINAL LOAN PAYMENT"
  83. 830  PRINT  TAB( 4);"(16) REMAINING LOAN BALANCE"
  84. 840  PRINT  TAB( 4);"(17) LOAN REPAYMENT PERIODS"
  85. 850  PRINT  TAB( 4);"(18) MORTGAGE AMORTIZATION TABLE"
  86. 860  GOSUB 4330: CALL  -998
  87. 870  PRINT "SELECT A PROGRAM BY NUMBER AND THEN"
  88. 880  INVERSE : PRINT "PRESS RETURN (ENTER '0' TO QUIT) ...";: NORMAL 
  89. 890  INPUT Z
  90. 900  IF Z <0  OR Z >20  THEN 620
  91. 910  RETURN 
  92. 920  REM  -------------------
  93. 930  REM  FUTURE.INVEST.VALUE
  94. 940  REM  -------------------
  95. 950  PRINT "   #1  FUTURE VALUE OF AN INVESTMENT"
  96. 960  PRINT : GOSUB 4330
  97. 970  INPUT "ENTER THE INITIAL INVESTMENT: $";P
  98. 980  PRINT 
  99. 990  INPUT "ENTER THE NOMINAL INTEREST  :  ";I: CALL  -998: HTAB (32): PRINT I;" %"
  100. 1000  PRINT 
  101. 1010  INPUT "COMPOUNDING PERIODS PER YEAR:  ";N: CALL  -998: HTAB (32): PRINT N;" P/Y"
  102. 1020  PRINT 
  103. 1030  INPUT "NUMBER OF INVESTMENT YEARS  :  ";Y: CALL  -998: HTAB (32): PRINT Y;" YRS"
  104. 1040  PRINT : GOSUB 4330: PRINT 
  105. 1050 I = I/N/100
  106. 1060 T = P *(1 +I) ^(N *Y)
  107. 1070  PRINT "THE FUTURE INVESTMENT VALUE = $"; INT(T *100 +.5)/100
  108. 1080  RETURN 
  109. 1090  REM  --------------------
  110. 1100  REM  FUTURE.DEPOSIT.VALUE
  111. 1110  REM  --------------------
  112. 1120  PRINT "   #2  FUTURE VALUE OF REGULAR DEPOSITS"
  113. 1130  PRINT  TAB( 15)"(ANNUITY)"
  114. 1140  PRINT : GOSUB 4330
  115. 1150  INPUT "ENTER REGULAR DEPOSIT AMOUNT:  $";R
  116. 1160  PRINT 
  117. 1170  INPUT "ENTER NOMINAL INTEREST RATE :   ";I: CALL  -998: HTAB (33): PRINT I;" %"
  118. 1180  PRINT 
  119. 1190  INPUT "NUMBER OF DEPOSITS PER YEAR :   ";N: CALL  -998: HTAB (33): PRINT N;" D/Y"
  120. 1200  PRINT 
  121. 1210  INPUT "ENTER NUMBER OF YEARS USED  :   ";Y: CALL  -998: HTAB (33): PRINT Y;" YRS"
  122. 1220 I = I/N/100
  123. 1230 T = R *((1 +I) ^(N *Y) -1)/I
  124. 1240  PRINT : GOSUB 4330: PRINT 
  125. 1250  PRINT "THE FUTURE DEPOSIT VALUE IS :  $"; INT(T *100 +.5)/100
  126. 1260  RETURN 
  127. 1270  REM  --------------------
  128. 1280  REM  FUTURE.SAVINGS.VALUE
  129. 1290  REM  --------------------
  130. 1300  PRINT "    #3  FUTURE VALUE OF AN ANNUITY               OR SAVINGS ACCOUNT"
  131. 1310  PRINT : GOSUB 4330
  132. 1320  INPUT "ENTER THE END-OF-YEARS VALUE:  $";T
  133. 1330  PRINT 
  134. 1340  INPUT "ENTER THE NOMINAL INTEREST  :   ";I: CALL  -998: HTAB (33): PRINT I;" %"
  135. 1350  PRINT 
  136. 1360  INPUT "NUMBER OF DEPOSITS EACH YEAR:   ";N: CALL  -998: HTAB (33): PRINT N;" D/Y"
  137. 1370  PRINT 
  138. 1380  INPUT "ENTER NUMBER YEARS DEPOSITED:   ";Y: CALL  -998: HTAB (33): PRINT Y;" YRS"
  139. 1390 I = I/N/100
  140. 1400 R = T *I/((I +1) ^(N *Y) -1)
  141. 1410  PRINT : GOSUB 4330: PRINT 
  142. 1420  PRINT "EACH REGULAR DEPOSIT MUST BE=  $"; INT(R *100 +.5)/100
  143. 1430  RETURN 
  144. 1440  REM  ---------------------
  145. 1450  REM  INVESTMENT.WITHDRAWAL
  146. 1460  REM  ---------------------
  147. 1470  PRINT "   #4  REGULAR INVESTMENT WITHDRAWALS"
  148. 1480  PRINT : GOSUB 4330
  149. 1490  INPUT "INITIAL INVESTMENT AMOUNT   :  $";P: PRINT 
  150. 1500  INPUT "ENTER NOMINAL INTEREST RATE :   ";I: CALL  -998: HTAB (33): PRINT I;" %"
  151. 1510  PRINT 
  152. 1520  INPUT "NUMBER WITHDRAWALS EACH YEAR:   ";N: CALL  -998: HTAB (33): PRINT N;" W/Y"
  153. 1530  PRINT 
  154. 1540  INPUT "ENTER NUMBER OF YEARS TO USE:   ";Y: CALL  -998: HTAB (33): PRINT Y;" YRS"
  155. 1550 I = I/N/100
  156. 1560 R = P *(I/((1 +I) ^(N *Y) -1) +I)
  157. 1570  PRINT : GOSUB 4330: PRINT 
  158. 1580  PRINT "MAXIMUM WITHDRAWAL EACH TIME=  $"; INT(R *100 +.5)/100
  159. 1590  RETURN 
  160. 1600  REM  ---------------------
  161. 1610  REM  MIN.INVEST.FUTURE.INC
  162. 1620  REM  ---------------------
  163. 1630  PRINT "    #5  INVESTMENT REQUIRED TO"
  164. 1640  PRINT "        PROVIDE FUTURE VALUE.."
  165. 1650  PRINT : GOSUB 4330
  166. 1660  INPUT "DESIRED RESULT OF INVESTMENT:  $";T
  167. 1670  PRINT 
  168. 1680  INPUT "COMPOUNDING PERIODS PER YEAR:   ";N: CALL  -998: HTAB (33): PRINT N;" P/Y"
  169. 1690  PRINT 
  170. 1700  INPUT "NUMBER OF INVESTMENT YEARS  :   ";Y: CALL  -998: HTAB (33): PRINT Y;" YRS"
  171. 1710  PRINT 
  172. 1720  INPUT "ENTER THE NOMINAL INTEREST  :   ";I: CALL  -998: HTAB (33): PRINT I;" %"
  173. 1730 I1 = I
  174. 1740 I = I/N/100
  175. 1750 P = T/(1 +I) ^(N *Y)
  176. 1760  PRINT : GOSUB 4330: PRINT 
  177. 1770  PRINT "MINIMUM INVESTMENT REQUIRED =  $"; INT(P *100 +.5)/100
  178. 1780  RETURN 
  179. 1790  REM  ------------------
  180. 1800  REM  INCOME.FROM.INVEST
  181. 1810  REM  ------------------
  182. 1820  PRINT  TAB( 5)"#6  MINIMUM INVESTMENT FOR INCOME"
  183. 1830  PRINT : GOSUB 4330
  184. 1840  INPUT "NUMBER WITHDRAWALS EACH YEAR:   ";N: CALL  -998: HTAB (33): PRINT N;" W/Y"
  185. 1850  PRINT 
  186. 1860  INPUT "ENTER AMOUNT EACH WITHDRAWAL:  $";R
  187. 1870  PRINT 
  188. 1880  INPUT "ENTER NOMINAL INTEREST RATE :   ";I: CALL  -998: HTAB (33): PRINT I;" %"
  189. 1890  PRINT 
  190. 1900  INPUT "NUMBER YEARS OF WITHDRAWALS :   ";Y: CALL  -998: HTAB (33): PRINT Y;" YRS"
  191. 1910 I1 = I
  192. 1920 I = I/100
  193. 1930 P = R *N/I *(1 -1/((1 +I/N) ^(N *Y)))
  194. 1940  PRINT : GOSUB 4330: PRINT 
  195. 1950  PRINT "MINIMUM INVESTMENT MUST BE  =  $"; INT(100 *P +.5)/100
  196. 1960  RETURN 
  197. 1970  REM  ---------------------
  198. 1980  REM  NOMINAL.INTEREST.RATE
  199. 1990  REM  ---------------------
  200. 2000  PRINT "#7  NOMINAL INTEREST RATE ON INVESTMENTS"
  201. 2010  PRINT : GOSUB 4330
  202. 2020  INPUT "ENTER AMOUNT OF PRINCIPAL   :  $";P
  203. 2030  PRINT 
  204. 2040  INPUT "INVESTMENT AMOUNT DESIRED   :  $";T
  205. 2050  PRINT 
  206. 2060  INPUT "NUMBER OF INVESTMENT YEARS  :   ";Y: CALL  -998: HTAB (33): PRINT Y;" YRS"
  207. 2070  PRINT 
  208. 2080  INPUT "COMPOUNDING PERIODS PER YEAR:   ";N: CALL  -998: HTAB (33): PRINT N;" P/Y"
  209. 2090 I2 = N *((T/P) ^(1/(N *Y)) -1) *100
  210. 2100  PRINT : GOSUB 4330: PRINT 
  211. 2110  PRINT "NOMINAL INTEREST RATE NEEDED=   "; INT(I2 *100 +.5)/100;" %"
  212. 2120  RETURN 
  213. 2130  REM  -------------------
  214. 2140  REM  EFFECTIVE.INT.RATES
  215. 2150  REM  -------------------
  216. 2160  PRINT " #8  EFFECTIVE INVESTMENT INTEREST RATE"
  217. 2170  PRINT : GOSUB 4330
  218. 2180  INPUT "INITIAL AMOUNT OF INVESTMENT:  $";P
  219. 2190  PRINT 
  220. 2200  INPUT "THE END-OF-INVESTMENT AMOUNT:  $";T
  221. 2210  PRINT 
  222. 2220  INPUT "LIFE OF INVESTMENT IN YEARS :   ";Y: CALL  -998: HTAB (33): PRINT Y;" YRS"
  223. 2230 I3 = ((T/P) ^(1/Y) -1) *100
  224. 2240  PRINT : GOSUB 4330: PRINT 
  225. 2250  PRINT "ANNUAL INTEREST RATE RESULT =   "; INT(I3 *100 +.5)/100;" %"
  226. 2260  RETURN 
  227. 2270  REM  ------------------
  228. 2280  REM  ANNUAL.DEPREC.RATE
  229. 2290  REM  ------------------
  230. 2300  PRINT "#9  ANNUAL INVESTMENT DEPRECIATION RATE"
  231. 2310  PRINT : GOSUB 4330
  232. 2320  INPUT "ORIGINAL PRICE OF THE ITEM :  $";P
  233. 2330  PRINT 
  234. 2340  INPUT "SUGGESTED ITEM RESALE PRICE:  $";T
  235. 2350  PRINT 
  236. 2360  INPUT "LIFE IN YEARS OF THE ITEM  :   ";Y: CALL  -998: HTAB (32): PRINT Y;" YRS"
  237. 2370  PRINT 
  238. 2380 D = 100 *(1 -(T/P) ^(1/Y))
  239. 2390  PRINT : GOSUB 4330: PRINT 
  240. 2400  PRINT "RESULTING DEPRECIATION RATE=   "; INT(1000 *D +.5)/1000;" %"
  241. 2410 D1 = D: RETURN 
  242. 2420  REM  -----------------
  243. 2430  REM  DEPREC.INVESTMENT
  244. 2440  REM  -----------------
  245. 2450  PRINT "  #10 AMOUNT DEPRECIATED WITHIN A YEAR"
  246. 2460  PRINT : GOSUB 4330
  247. 2470  INPUT "ORIGINAL PRICE OF THE ITEM :  $";P
  248. 2480  PRINT 
  249. 2490 K = 100
  250. 2500  INPUT "DEPRECIATION PERCENT NEEDED:   ";I: CALL  -998: HTAB (32): PRINT I;" %"
  251. 2510  PRINT : GOSUB 4330: PRINT 
  252. 2520 I = I/100
  253. 2530  FOR Y = 1 TO K
  254. 2540 D = P *I *(1 -I) ^(Y -1)
  255. 2550  PRINT "THE YEAR #";Y;" DEPRECIATION  =  $"; INT(100 *D +.5)/100
  256. 2560 X = X +1: IF X = 5  THEN X = 0
  257. 2570  INVERSE : PRINT "PRESS RETURN FOR NEXT YEAR": GET X$: NORMAL : CALL  -998
  258. 2580  IF D > = 2  THEN  NEXT Y
  259. 2590  RETURN 
  260. 2600  REM  --------------------
  261. 2610  REM  YEARLY.SALVAGE.VALUE
  262. 2620  REM  --------------------
  263. 2630  PRINT "  #11  YEARLY SALVAGE VALUE OF AN ITEM"
  264. 2640  PRINT : GOSUB 4330
  265. 2650  INPUT "ORIGINAL PRICE OF AN ITEM  :  $";P
  266. 2660  PRINT 
  267. 2670  INPUT "DEPRECIATION RATE OF ITEM  :   ";I: CALL  -998: HTAB (32): PRINT I;" %"
  268. 2680  PRINT : GOSUB 4330: PRINT 
  269. 2690 K = 100
  270. 2700  FOR Y = 1 TO K
  271. 2710 S =  INT(100 *P *(1 -I/100) ^Y +.5)/100
  272. 2720  PRINT "THE YEAR #";Y;" SALVAGE VALUE =  $";S
  273. 2730 X = X +1: IF X = 5  THEN X = 0
  274. 2740  INVERSE : PRINT "PRESS RETURN FOR NEXT YEAR": GET X$: NORMAL : CALL  -998
  275. 2750  IF S > = 2  THEN  NEXT Y
  276. 2760  RETURN 
  277. 2770  REM  -------------------
  278. 2780  REM  DISCOUNT.COMM.PAPER
  279. 2790  REM  -------------------
  280. 2800  PRINT " #12  THE NET COST OF DISCOUNTED PAPER"
  281. 2810  PRINT : GOSUB 4330
  282. 2820  INPUT "ENTER NOTE'S FUTURE VALUE  :  $";T
  283. 2830  PRINT 
  284. 2840  INPUT "ENTER THE DISCOUNTED RATE  :   ";D: CALL  -998: HTAB (32): PRINT D;" %"
  285. 2850  PRINT 
  286. 2860  INPUT "NUMBER OF DAYS TO MATURITY :   ";N: CALL  -998: HTAB (32): PRINT N;" DAYS"
  287. 2870 D = D/100
  288. 2880 D1 = T *D *N/360
  289. 2890  PRINT : GOSUB 4330: PRINT 
  290. 2900  PRINT "THE DISCOUNT AMOUNT WILL BE=  $"; INT(100 *D1 +.5)/100
  291. 2910  PRINT "THE NOTE'S ORIGINAL COST IS=  $"; INT(100 *(T -D1) +.5)/100
  292. 2920 D2 = D: RETURN 
  293. 2930  REM  --------------
  294. 2940  REM  LOAN.PRINCIPAL
  295. 2950  REM  --------------
  296. 2960  PRINT "     #13  PRINCIPAL ON A LOAN"
  297. 2970  PRINT : GOSUB 4330
  298. 2980  INPUT "NUMBER OF PAYMENTS PER YEAR:   ";N: CALL  -998: HTAB (32): PRINT N;" P/Y"
  299. 2990  PRINT 
  300. 3000  INPUT "ENTER EACH PAYMENT'S AMOUNT:  $";R
  301. 3010  PRINT 
  302. 3020  INPUT "LOAN'S ANNUAL INTEREST RATE:   ";I: CALL  -998: HTAB (32): PRINT I;" %"
  303. 3030  PRINT 
  304. 3040  INPUT "LIFE OF THE LOAN IN YEARS  :   ";Y: CALL  -998: HTAB (32): PRINT Y;" YRS"
  305. 3050  PRINT : GOSUB 4330: PRINT 
  306. 3060 P = R *N *(1 -1/((I/100)/N +1) ^(N *Y))/(I/100)
  307. 3070  PRINT "THE PRINCIPAL OF THIS LOAN =  $"; INT(100 *P +.5)/100
  308. 3080  RETURN 
  309. 3090  REM  --------------------
  310. 3100  REM  SCHEDULE.OF.PAYMENTS
  311. 3110  REM  --------------------
  312. 3120  PRINT "     #14  REGULAR PAYMENT ON A LOAN"
  313. 3130  PRINT : GOSUB 4330
  314. 3140  INPUT "LIFE OF THE LOAN IN YEARS  :   ";Y: CALL  -998: HTAB (32): PRINT Y;" YRS"
  315. 3150  PRINT 
  316. 3160  INPUT "ENTER ANNUAL INTEREST RATE :   ";I: CALL  -998: HTAB (32): PRINT I;" %"
  317. 3170  PRINT 
  318. 3180  INPUT "NUMBER OF PAYMENTS PER YEAR:   ";N: CALL  -998: HTAB (32): PRINT N;" P/Y"
  319. 3190  PRINT 
  320. 3200  INPUT "ENTER LOAN PRINCIPAL AMOUNT:  $";P
  321. 3210  PRINT : GOSUB 4330: PRINT 
  322. 3220 R = ((I/100) *P/N)/(1 -1/((I/100)/N +1) ^(N *Y))
  323. 3230  PRINT "YOUR REGULAR PAYMENTS ARE  =  $"; INT(100 *R +.5)/100
  324. 3240  RETURN 
  325. 3250  REM  ------------------
  326. 3260  REM  FINAL.LOAN.PAYMENT
  327. 3270  REM  ------------------
  328. 3280  PRINT "       #15  LAST PAYMENT ON A LOAN"
  329. 3290  PRINT : GOSUB 4330
  330. 3300  INPUT "LIFE OF THE LOAN IN YEARS  :   ";Y: CALL  -998: HTAB (32): PRINT Y;" YRS"
  331. 3310  PRINT 
  332. 3320  INPUT "ENTER ANNUAL INTEREST RATE :   ";I: CALL  -998: HTAB (32): PRINT I;" %"
  333. 3330  PRINT 
  334. 3340  INPUT "EACH REGULAR PAYMENT AMOUNT:  $";R
  335. 3350  PRINT 
  336. 3360  INPUT "NUMBER OF PAYMENTS PER YEAR:   ";N: CALL  -998: HTAB (32): PRINT N;" P/Y"
  337. 3370  PRINT 
  338. 3380  INPUT "ENTER LOAN PRINCIPAL AMOUNT:  $";P
  339. 3390  PRINT : GOSUB 4330: PRINT 
  340. 3400 I1 = I:I = I/100:BO = P
  341. 3410  IF N *Y >100  THEN  PRINT "      *** WORKING THE PROBLEM ***": CALL  -998
  342. 3420  FOR J1 = 1 TO N *Y
  343. 3430 I2 =  INT((BO *I/N) *100 +.5)/100
  344. 3440 A = R -I2
  345. 3450 BO = BO -A
  346. 3460  NEXT J1
  347. 3470  PRINT "LAST LOAN PAYMENT AMOUNT   :  $"; INT(100 *(R +BO) +.5)/100
  348. 3480  RETURN 
  349. 3490  REM  -------------------
  350. 3500  REM  END-OF-LOAN.BALANCE
  351. 3510  REM  -------------------
  352. 3520  PRINT "    #16  REMAINING BALANCE ON A LOAN"
  353. 3530  PRINT : GOSUB 4330
  354. 3540  INPUT "NUMBER OF PAYMENTS PER YEAR:   ";N: CALL  -998: HTAB (32): PRINT N;" P/Y"
  355. 3550  PRINT 
  356. 3560  INPUT "ENTER ANNUAL INTEREST RATE :   ";I: CALL  -998: HTAB (32): PRINT I;" %"
  357. 3570  PRINT 
  358. 3580  INPUT "ENTER EACH PAYMENT AMOUNT  :  $";R
  359. 3590  PRINT 
  360. 3600  INPUT "ENTER AMOUNT OF PRINCIPAL  :  $";P
  361. 3610  PRINT 
  362. 3620  INPUT "PYMT # OF LAST PAYMENT MADE:  #";N1
  363. 3630  INPUT "YEAR # OF LAST PAYMENT MADE:  #";Y
  364. 3640  PRINT : GOSUB 4330: PRINT : PRINT "       *** WORKING ON PROBLEM ***"
  365. 3650 I = I/100
  366. 3660 BO = P
  367. 3670  FOR J1 = 1 TO N *(Y -1) +N1
  368. 3680 I1 =  INT((BO *I/N) *100 +.5)/100
  369. 3690 A = R -I1
  370. 3700 BO = BO -A
  371. 3710  NEXT J1
  372. 3720  CALL  -998: PRINT "THE REMAINING LOAN BALANCE =  $"; INT(100 *BO +.5)/100
  373. 3730  RETURN 
  374. 3740  REM  ----------------
  375. 3750  REM  REPAYMENT.PERIOD
  376. 3760  REM  ----------------
  377. 3770  PRINT "        #17  THE TERM OF A LOAN"
  378. 3780  PRINT : GOSUB 4330
  379. 3790  INPUT "NUMBER OF PAYMENTS PER YEAR:   ";N: CALL  -998: HTAB (32): PRINT N;" P/Y"
  380. 3800  PRINT "  (# PYMTS >= INT.RATE #)
  381. 3810  INPUT "ENTER ANNUAL INTEREST RATE :   ";I: CALL  -998: HTAB (32): PRINT I;" %"
  382. 3820  PRINT 
  383. 3830  INPUT "ENTER LOAN PRINCIPAL AMOUNT:  $";P
  384. 3840  PRINT "  (PYMT.AMT. >= 1% OF PRIN.)
  385. 3850  INPUT "EACH REGULAR PAYMENT AMOUNT:  $";R
  386. 3860  PRINT : GOSUB 4330: PRINT 
  387. 3870 Y =  -( LOG(1 -(P *(I/100))/(N *R))/( LOG(1 +I/100/N) *N))
  388. 3880  PRINT "LOAN REPAYMENT WILL REQUIRE=   "; INT(10 *Y +.5)/10;" YRS"
  389. 3890  RETURN 
  390. 3900  REM  -------------------
  391. 3910  REM  LOAN.AMORT.SCHEDULE
  392. 3920  REM  -------------------
  393. 3930  PRINT "     THE MORTGAGE AMORTIZATION TABLE"
  394. 3940  PRINT : GOSUB 4330
  395. 3950  REM  LEADING & TRAILING ZERO'S NOT ?"ED"
  396. 3960 C = 0:F = 0
  397. 3970  INPUT "ENTER INITIAL LOAN AMOUNT  :  $";A
  398. 3980  PRINT 
  399. 3990  INPUT "ENTER LOAN'S INTEREST RATE :   ";J: CALL  -998: HTAB (32): PRINT J;" %"
  400. 4000  PRINT 
  401. 4010  INPUT "LIFE OF THE LOAN IN YEARS  :   ";N: CALL  -998: HTAB (32): PRINT N;" YRS"
  402. 4020  PRINT : GOSUB 4330: PRINT 
  403. 4030 J = J/100
  404. 4040 N = N *12:I = J/12:B = 1 +I:R = A *I/(1 -1/B ^N)
  405. 4050 R =  INT(100 *R +.5)/100
  406. 4060  PRINT "PAYMENT AMOUNT EACH MONTH  =  $";R
  407. 4070 Q =  INT(100 *(R *N -A) +.5)/100
  408. 4080  PRINT "TOTAL INTEREST AMOUNT PAID :  $";Q
  409. 4090  PRINT 
  410. 4100  INVERSE : PRINT "WANT THIS ON SCREEN OR PRINTER ";: FLASH : PRINT "(S/P)";: NORMAL : PRINT ":";: GET SP$: PRINT 
  411. 4110  IF SP$ = "P"  THEN 4250
  412. 4120  CALL  -998
  413. 4130  INVERSE : PRINT "TO BEGIN LISTING HIT THE SPACE BAR ...": NORMAL : GET A$
  414. 4140  PRINT : GOSUB 4330:B = A
  415. 4150  PRINT "PMT INTEREST  PRINCIPAL      BALANCE"
  416. 4160 C = C +1:L = B *I:P = R -L:B = B -P
  417. 4170 C =  INT(100 *C +.5)/100:L =  INT(100 *L +.5)/100:P =  INT(100 *P +.5)/100:B =  INT(100 *B +.5)/100
  418. 4180  PRINT "#";C: CALL  -998: HTAB (7): PRINT L: CALL  -998: HTAB (18): PRINT P: CALL  -998: HTAB (29): PRINT B
  419. 4190 F = F +1
  420. 4200  IF F = 20  THEN 4280
  421. 4210  IF B > = R  THEN 4160
  422. 4220 C = C +1
  423. 4230  PRINT "#";C: CALL  -998: HTAB (7): PRINT  INT(100 *(B *I) +.5)/100: CALL  -998: HTAB (18): PRINT (R -( INT(100 *(B *I) +.5)/100))
  424. 4240  PRINT : PRINT "  THE FINAL PAYMENT WAS  $"; INT(D)/100 +B;" <=="
  425. 4250  RETURN 
  426. 4260 F = 0
  427. 4270  RETURN 
  428. 4280  INVERSE : PRINT "HIT SPACE BAR TO CONTINUE LISTING ...": NORMAL : GET A$
  429. 4290  PRINT 
  430. 4300 F = 0
  431. 4310  PRINT "PMT INTEREST  PRINCIPAL      BALANCE"
  432. 4320  GOTO 4210
  433. 4330  REM  -----------------
  434. 4340  REM  MAKE-A-LINE GOSUB
  435. 4350  REM  -----------------
  436. 4360  FOR II = 1 TO 39: PRINT "-";: NEXT II: PRINT "-": RETURN 
  437. 4370  REM  ------------------
  438. 4380  REM  CLEAR.SCREEN.GOSUB
  439. 4390  REM  ------------------
  440. 4400  CALL  -936: RETURN 
  441. 4410  REM  -----------------
  442. 4420  REM  PRINTOUT.ANSWER.?
  443. 4430  REM  -----------------
  444. 4440  IF SP$ = "S"  THEN 5120
  445. 4450  IF Z = 18  THEN 4490
  446. 4460  PRINT "                                       ": PRINT : PRINT "WANT A ";: INVERSE : PRINT "PRINTOUT";: NORMAL : PRINT " OF THIS ANSWER ";: FLASH : PRINT "(Y/N)";: NORMAL : PRINT ":";: GET Y$: PRINT 
  447. 4470  IF Y$ = "Y"  THEN 4490
  448. 4480  RETURN 
  449. 4490  CALL  -998: INVERSE : PRINT "TURN ON";: NORMAL : PRINT " YOUR PRINTER AND PRESS ";: FLASH : PRINT "RETURN";: NORMAL : GET Y$
  450. 4500  PR# 1: REM  PRINTER ON
  451. 4510  PRINT : FOR D = 1 TO 78: PRINT "-";: NEXT D: PRINT "-": PRINT : PRINT 
  452. 4520  ON Z GOSUB 4550,4570,4590,4610,4630,4650,4670,4690,4710,4720,4770,4820,4840,4850,4870,4890,4910,4920
  453. 4530  PRINT : PRINT : FOR D = 1 TO 78: PRINT "-";: NEXT D: PRINT "-": PRINT : PRINT 
  454. 4540  PRINT : RETURN 
  455. 4550  PRINT "WITH AN INITIAL INVESTMENT OF $";P;" AT A NOMINAL INTEREST RATE OF ";100 *I *N;" %;": PRINT : PRINT "USING ";N;" COMPOUNDING PERIODS PER YEAR OVER ";Y;" YEARS, YOU WOULD ATTAIN"
  456. 4560  PRINT : PRINT "A FUTURE VALUE ON THIS INVESTMENT OF $"; INT(100 *T +.5)/100;".": RETURN 
  457. 4570  PRINT "WITH REGULAR DEPOSITS OF $";R;" EACH INVESTED ";N;" TIMES PER YEAR, AT A": PRINT : PRINT "NOMINAL INTEREST RATE OF ";100 *I *N;" % OVER A ";Y;"-YEAR PERIOD, YOU WOULD ATTAIN"
  458. 4580  PRINT : PRINT " A FUTURE VALUE ON THESE DEPOSITS OF $"; INT(100 *T +.5)/100;" AT MATURITY.": RETURN 
  459. 4590  PRINT "IN ORDER TO ATTAIN A TOTAL FUTURE VALUE OF $";T;" AT MATURITY; SAVINGS ": PRINT : PRINT "INVESTED AT A ";100 *I *N;"% NOMINAL INTEREST RATE, AND DEPOSITED REGULARLY ";N;" TIMES"
  460. 4600  PRINT : PRINT "PER YEAR OVER A ";Y;"-YEAR PERIOD WOULD REQUIRE DEPOSITS OF $"; INT(100 *R +.5)/100;" EACH.": RETURN 
  461. 4610  PRINT "YOU MAY WITHDRAW $"; INT(100 *R +.5)/100;" FROM YOUR ACCOUNT ";N;" TIMES PER YEAR OVER A PERIOD": PRINT : PRINT "OF ";Y;" YEARS WITHOUT REDUCING YOUR INITIAL INVESTMENT OF $";P;", WHICH"
  462. 4620  PRINT : PRINT "WAS ORIGINALLY DEPOSITED AT A ";100 *I *N;"% NOMINAL INVESTMENT RATE.": RETURN 
  463. 4630  PRINT "YOU MUST INVEST $"; INT(100 *P +.5)/100;" ANNUALLY FOR A PERIOD OF ";Y;" YEARS AT A NOMINAL ": PRINT : PRINT "INTEREST RATE OF ";I1;"% COMPOUNDED ";N;" TIMES PER YEAR TO ATTAIN A TOTAL RETURN"
  464. 4640  PRINT : PRINT "OF $";T;" AT THE TIME OF MATURITY.": RETURN 
  465. 4650  PRINT "IN ORDER TO WITHDRAW ";N;" TIMES YEARLY A REGULAR INCOME OF $";R;" EACH, YOU": PRINT : PRINT "MUST HAVE A MINIMUM INVESTMENT OF $"; INT(100 *P +.5)/100;" HELD AT A NOMINAL INTEREST RATE OF"
  466. 4660  PRINT : PRINT "AT LEAST ";I1;"% PER YEAR OVER A PERIOD OF ";Y;" YEARS.": RETURN 
  467. 4670  PRINT "AN INVESTMENT OF $";P;" WHICH IS HELD FOR ";Y;" YEARS AT AN ANNUAL COMPOUNDING": PRINT : PRINT "RATE OF ";N;" TIMES PER YEAR WILL YIELD A TOTAL OF $";T;" AT MATURITY IF IT IS"
  468. 4680  PRINT : PRINT "KEPT AT A NOMINAL INTEREST RATE OF "; INT(100 *I2 +.5)/100;"% DURING THE TIME OF INVESTMENT.": RETURN 
  469. 4690  PRINT "WITH AN INITIAL INVESTMENT OF $";P;" WHICH YOU WOULD LIKE TO SEE MATURE": PRINT : PRINT "IN ";Y;" YEARS TO A TOTAL END-OF-INVESTMENT VALUE OF $";T;", YOU WOULD NEED TO "
  470. 4700  PRINT : PRINT "INVEST THESE FUNDS AT AN EFFECTIVE ANNUAL INTEREST RATE OF "; INT(100 *I3 +.5)/100;"%.": RETURN 
  471. 4710  PRINT "IF YOU PURCHASED AN ITEM FOR $";P;" AND THE RESOLD IT ";Y;" YEARS LATER ": PRINT : PRINT "FOR $";T;", THEN THE ACTUAL DEPRECIATION RATE WOULD BE "; INT(1000 *D1 +.5)/1000;"% .": RETURN 
  472. 4720  PRINT "ANNUAL DEPRECIATION ON AN ITEM PURCHASED FOR $";P;" AT A RATE OF ";100 *I;"% IS:"
  473. 4730  FOR Y = 1 TO K:D1 = P *I *(1 -I) ^(Y -1): PRINT "                             YEAR #";Y;" = $"; INT(100 *D1 +.5)/100
  474. 4740 X = X +1: IF X = 5  THEN X = 0
  475. 4750  IF D1 > = 2  THEN  NEXT Y
  476. 4760  RETURN 
  477. 4770  PRINT "IF AN ITEM WITH A PURCHASE PRICE OF $";P;" IS DEPRECIATED AT A RATE OF ";I;"%,": PRINT "THEN THE ANNUAL SALVAGE RATE ON THIS ITEM WILL BE:"
  478. 4780  FOR Y = 1 TO K:S =  INT(100 *P *(1 -I/100) ^Y +.5)/100: PRINT "                              YEAR #";Y;" = $";S
  479. 4790 X = X +1: IF X = 5  THEN X = 0
  480. 4800  IF S > = 2  THEN  NEXT Y
  481. 4810  RETURN 
  482. 4820  PRINT "IF YOU PURCHASE A NOTE WHICH IS WORTH $";T;" AND DUE TO MATURE IN ";N;" DAYS": PRINT : PRINT "AT A DISCOUNT RATE OF ";D2 *100;"%, THEN THE DISCOUNT AMOUNT WILL BE $"; INT(100 *D1 +.5)/100;" AND"
  483. 4830  PRINT : PRINT "THE NOTE'S PURCHASE COST WILL BE $";T -( INT(100 *D1 +.5)/100);" .": RETURN 
  484. 4840  PRINT "IF YOU HAD A LOAN AT AN ANNUAL INTEREST RATE OF ";I;"% OVER A PERIOD OF ";Y;" YEARS": PRINT : PRINT "WITH ";N;" PAYMENTS OF $";R;" EACH PER YEAR, YOUR PRINCIPAL WOULD BE $"; INT(100 *P +.5)/100;" .": RETURN 
  485. 4850  PRINT "IF YOU TAKE OUT A LOAN WITH A PRINCIPAL OF $";P;" AT AN ANNUAL INTEREST RATE": PRINT : PRINT "OF ";I;"% WITH ";N;" REGULAR PAYMENTS PER YEAR OVER A PERIOD OF ";Y;" YEARS, THEN"
  486. 4860  PRINT : PRINT "YOUR REGULAR PAYMENTS WILL BE $"; INT(100 *R +.5)/100;" EACH TIME.": RETURN 
  487. 4870  PRINT "FOR A LOAN WITH AN ORIGINAL PRINCIPAL OF $";P;" AT AN ANNUAL INTEREST RATE OF ": PRINT : PRINT I *100;"% AND REGULAR PAYMENTS OF $";R;" EACH, ";N;" TIMES PER YEAR OVER A ";Y;"-YEAR"
  488. 4880  PRINT : PRINT "PERIOD, THE VERY LAST PAYMENT FOR THIS LOAN WOULD BE $"; INT((R +BO) *100 +.5)/100;" .": RETURN 
  489. 4890  PRINT "FOR A LOAN WITH AN ORIGINAL PRINCIPAL OF $";P;" AT AN ANNUAL INTEREST RATE OF ": PRINT : PRINT I *100;"% AND REGULAR PAYMENTS OF $";R;" EACH, ";N;" TIMES PER YEAR, THE REMAINING"
  490. 4900  PRINT : PRINT "LOAN BALANCE AS OF YEAR #";Y;" AND PAYMENT #";N1;" WOULD BE $"; INT(100 *BO +.5)/100;" .": RETURN 
  491. 4910  PRINT "ON A LOAN PRINCIPAL AMOUNT OF $";P;" AT AN ANNUAL INTEREST RATE OF ";I;"% WITH ": PRINT : PRINT N;" REGULAR PAYMENTS OF $";R;" PER YEAR, IT WOULD REQUIRE "; INT(10 *Y +.5)/10;" YEARS FOR REPAYMENT.": RETURN 
  492. 4920  PRINT "THE FOLLOWING LOAN AMORTIZATION SCHEDULE IS FOR AN INITIAL LOAN OF $";A: PRINT "AT AN INTEREST RATE OF ";J *100;"% OVER A PERIOD OF ";N/12;" YEARS WITH REGULAR MONTHLY": PRINT "INSTALLMENT PAYMENTS OF $";R;" EACH TIME."
  493. 4930  PRINT :C = 0:B = A
  494. 4940  PRINT  SPC( 12);"PYMT#"; SPC( 7);"INTEREST"; SPC( 6);"PRINCIPAL"; SPC( 8);"BALANCE"
  495. 4950  PRINT  SPC( 12);"-----"; SPC( 7);"--------"; SPC( 6);"---------"; SPC( 8);"-------": PRINT 
  496. 4960 C = C +1:L = B *I:P = R -L:B = B -P
  497. 4970 L =  INT(100 *L +.5)/100:P =  INT(100 *P +.5)/100:B =  INT(100 *B +.5)/100
  498. 4980 C$ =  STR$(C):L$ =  STR$(L):P$ =  STR$(P):B$ =  STR$(B)
  499. 4990 LL =  INT(100 *(L - INT(L)) +.5)/100:PP =  INT(100 *(P - INT(P)) +.5)/100:BB =  INT(100 *(B - INT(B)) +.5)/100
  500. 5000 LL$ =  STR$(LL):PP$ =  STR$(PP):BB$ =  STR$(BB)
  501. 5010  IF  LEN(BB$) = 2  THEN B$ = B$ +"0"
  502. 5020  IF  LEN(BB$) <2  THEN B$ = B$ +".00"
  503. 5030  IF  LEN(LL$) = 2  THEN L$ = L$ +"0"
  504. 5040  IF  LEN(LL$) <2  THEN L$ = L$ +".00"
  505. 5050  IF  LEN(PP$) = 2  THEN P$ = P$ +"0"
  506. 5060  IF  LEN(PP$) <2  THEN P$ = P$ +".00"
  507. 5070  PRINT  SPC( 17 - LEN(C$));C$; SPC( 15 - LEN(L$));L$; SPC( 15 - LEN(P$));P$; SPC( 15 - LEN(B$));B$
  508. 5080  IF C = N  THEN 5100
  509. 5090  GOTO 4960
  510. 5100  PRINT : PRINT  TAB( 16);"THE FINAL PAYMENT WAS $";L +P +B
  511. 5110  PRINT : PRINT  TAB( 10);"THE TOTAL INTEREST PAID DURING THIS ENTIRE LOAN WAS $";Q
  512. 5120  RETURN 
  513. 5130  REM  ------------------
  514. 5140  REM  REPEAT.SELECTION.?
  515. 5150  REM  ------------------
  516. 5160  PR# 0: REM  PRINTER OFF:PRINT
  517. 5170  CALL  -998: INVERSE : PRINT "WANT TO RUN THIS SELECTION AGAIN";: NORMAL : PRINT " ";: FLASH : PRINT "(Y/N)";: NORMAL : PRINT ":";: GET Y$:
  518. 5180  IF Y$ = "Y"  THEN  GOTO 380
  519. 5190  GOTO 470
  520. 5200  REM  -------------------
  521. 5210  REM  PROGRAM.END.ROUTINE
  522. 5220  REM  -------------------
  523. 5230  POKE  -16368,0: TEXT : CALL  -936: VTAB 10: HTAB 10: PRINT "* * * THE  END * * *": END